Multizbiorem nazywamy obiekt matematyczny podobny do zbioru,
    w którym jednak ten sam element może występować wielokrotnie.
    Podobnie jak w przypadku zbioru, także dla multizbioru wszystkie
    elementy można ustawić w ciąg i to zazwyczaj na wiele sposobów;
    każde takie ustawienie nazywamy permutacją multizbioru.
    Dla przykładu, permutacjami multizbioru 
    są między innymi 
 oraz 
.
Powiemy, że jedna permutacja danego multizbioru jest mniejsza (w porządku leksykograficznym) od drugiej, jeżeli na pierwszej pozycji, na której te permutacje się różnią, pierwsza z nich zawiera element mniejszy niż druga. Wszystkie permutacje danego multizbioru można ponumerować (zaczynając od jedynki) w kolejności od najmniejszej do największej.
Napisz program, który:
,
        
,
        
      Pierwszy wiersz wejścia zawiera dwie liczby całkowite 
 oraz 
      (
, 
),
      oddzielone pojedynczym odstępem.
      Oznaczają one odpowiednio liczbę elementów multizbioru oraz ... liczbę 
.
      Drugi wiersz wejścia zawiera 
 dodatnich liczb całkowitych 
      (
), pooddzielanych pojedynczymi odstępami
      i oznaczających kolejne elementy danej permutacji multizbioru.
      Pierwszy i jedyny wiersz wyjścia powinien zawierać jedną liczbę
      całkowitą, oznaczającą resztę z dzielenia przez 
 numeru
      podanej permutacji w porządku leksykograficznym.
Dla danych wejściowych:
4 1000 2 1 10 2
poprawną odpowiedzią jest:
5
    Wszystkie permutacje mniejsze od zadanej to (w kolejności leksykograficznej):
    
,
    
,
    
 oraz
    
.
Autor zadania: Jakub Radoszewski.
In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.